package com.system.userserver.mapper;

import com.system.commonutils.bean.SecendMenu;
import com.system.commonutils.pojo.Menu;
import com.system.commonutils.pojo.Role;
import com.system.userserver.bean.MenuParams;
import com.system.userserver.bean.RoleInfo;
import com.system.userserver.bean.RoleParams;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface RoleMapper {
    List<Role> selectRoleList();

    List<SecendMenu> selectMenuByRoleId(Integer roleId);

    Integer addMenu(MenuParams menuParams);

    Integer deleteMenu(Integer menuId);

    Integer deleteRoleMenu(Integer roleId);

    Integer deleteRoleByRoleId(Integer roleId);

    Integer addRole(RoleParams roleParams);

    Integer changeMenu(Menu menu);

    Integer changRole(Role role);

    int deleteRoleAllMenu(@Param("roleId") Integer roleId, @Param("menus") List<Integer> menuIds);

    int insertRoleAllMenu(@Param("roleId") Integer roleId, @Param("menus") List<Integer> menus);

    List<Menu> selectMenuList();

    int userChangeRole(@Param("userId") Integer userId, @Param("roleId")Integer roleId);

    RoleInfo selectRoleById(Integer role_id);

}
